require(["./config"],function(){
  require(["jquery","template","loadHF","cookie"],function($,template){
    function List(){
      this.loadList();
      this.addListener();
      // this.loadSwiper();
    }

    List.prototype={
      constructor:List,
      loadList(){
        $.getJSON("http://148.70.25.70:8080/app/mock/32/api/product",function(res){
          console.log(res);
          const data = {list:res.res_body.list};
          const html = template("list-template",data);
          $("#list_show").append(html);
          // console.log($("div.show_products"));
        })
      },

      addListener(){
        $("div#list_show").on("click","a.add_to_cart", function(event){
  				const $parent = $(event.target).parent();
          console.log($parent);

          // 获取当前选购商品的信息
          const currProd = {
            id: $parent.data("id"),
  					title: $parent.find("h3").html(),
  					img: $parent.find(".img-responsive").attr("src"),
  					price: $parent.find(".price").text(),
  					amount: 1
          }

          // 读取cookie中保存的已有购物车
  				$.cookie.json = true;
  				const cart = $.cookie("cart") || []
  				// 判断购物车是否已保存了当前选购商品
  				const has = cart.some(curr => {
  					if (curr.id == currProd.id) { // 存在，则数量递增
  						curr.amount++;
  						return true
  					}
  					return false
  				})

          // 如果不存在，则添加到数组中
  				if(!has)
  					cart.push(currProd)
  				// 将购物车保存到cookie中
  				$.cookie("cart", cart, {expires: 7, path: "/"})
        })
      },

      // loadSwiper(){
      //   new Swiper ('.swiper-container', {
      //     loop: false, // 循环模式选项
      //     // 如果需要分页器
      //      pagination: {
      //        el: '.swiper-pagination',
      //      },
      //
      //      // 如果需要前进后退按钮
      //      navigation: {
      //        nextEl: '.swiper-button-next',
      //        prevEl: '.swiper-button-prev',
      //      },
      //
      //      // 如果需要滚动条
      //      scrollbar: {
      //        el: '.swiper-scrollbar',
      //      },
      //       autoplay: true
      //   })
      // }

    }


    new List();
  })
})
